package pl.wsb;

import pl.wsb.DatabaseHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
import pl.wsb.Osoba;

import static pl.wsb.StaleOsoby.OSOBA_ID;
import static pl.wsb.StaleOsoby.OSOBA_IMIE;
import static pl.wsb.StaleOsoby.OSOBA_NAZWISKO;

import com.j256.ormlite.android.apptools.OrmLiteBaseActivity;
import com.j256.ormlite.dao.RuntimeExceptionDao;

public class Osoby extends OrmLiteBaseActivity<DatabaseHelper> implements OnClickListener {
	private Osoba osoba;
	private RuntimeExceptionDao<Osoba,Integer> osobaDao;
	//public static final String KEY_OSOBA_ID ="OSOBA_ID";
	private Integer id =-1;
	
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.osoby);
        
        Bundle bundle = getIntent().getExtras();
        if(bundle!=null)
        	id = Integer.parseInt(bundle.getString(OSOBA_ID));
        
        // przycisk Anuluj
        View przyciskFormOsoby = findViewById(R.id.przycisk_anuluj);
        przyciskFormOsoby.setOnClickListener(this);
                
        przyciskFormOsoby = findViewById(R.id.przycisk_zapisz);
        przyciskFormOsoby.setOnClickListener(this);

        osobaDao = getHelper().getOsobaDataDao();
        
        //int osobaID = getIntent().getIntExtra(KEY_OSOBA_ID, 1);
        osoba = osobaDao.queryForId(id);
        if(osoba!=null){
        ((EditText) findViewById(R.id.osoba_imie)).setText(osoba.getImie());
        ((EditText) findViewById(R.id.osoba_nazwisko)).setText(osoba.getNazwisko());
        ((EditText) findViewById(R.id.osoba_nip)).setText(osoba.getNip());
        ((EditText) findViewById(R.id.osoba_ulica)).setText(osoba.getUlica());
        ((EditText) findViewById(R.id.osoba_nr_bud)).setText(osoba.getNr_budynku());
        ((EditText) findViewById(R.id.osoba_miasto)).setText(osoba.getMiasto());
        ((EditText) findViewById(R.id.osoba_kod_pocztowy)).setText(osoba.getKod_pocztowy());
        ((EditText) findViewById(R.id.osoba_telefon)).setText(osoba.getTelefon());
        ((EditText) findViewById(R.id.osoba_email)).setText(osoba.getEmail());
        }
    }
	public void onClick(View v) {
		Boolean nowe=false;
		switch (v.getId()) {
			case R.id.przycisk_anuluj:
				Log.d("Przychodnia::Osoby","przycisk_anuluj:");
				finish();
			break;
			case R.id.przycisk_zapisz:
				if (osoba==null) {
					osoba = new Osoba();
					nowe=true;
				}
				Log.d("Przychodnia::Osoby","przycisk_zapisz:");
				osoba.setImie(((EditText) findViewById(R.id.osoba_imie)).getText().toString());
				osoba.setNazwisko(((EditText) findViewById(R.id.osoba_nazwisko)).getText().toString());
				osoba.setNip(((EditText) findViewById(R.id.osoba_nip)).getText().toString());
				osoba.setUlica(((EditText) findViewById(R.id.osoba_ulica)).getText().toString());
				osoba.setNr_budynku(((EditText) findViewById(R.id.osoba_nr_bud)).getText().toString());
				osoba.setMiasto(((EditText) findViewById(R.id.osoba_miasto)).getText().toString());
				osoba.setKod_pocztowy(((EditText) findViewById(R.id.osoba_kod_pocztowy)).getText().toString());
				osoba.setTelefon(((EditText) findViewById(R.id.osoba_telefon)).getText().toString());
				osoba.setEmail(((EditText) findViewById(R.id.osoba_email)).getText().toString());
				if(nowe)
					osobaDao.create(osoba);
				else 
					osobaDao.update(osoba);
				Toast.makeText(getApplicationContext(), "Dane zapisano...", Toast.LENGTH_LONG).show();
				finish();
			break;

		}
	}

}
